home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dgelss.z / dgelss
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDGGGGEEEELLLLSSSSSSSS((((3333FFFF))))                                                          DDDDGGGGEEEELLLLSSSSSSSS((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DGELSS - compute the minimum norm solution to a real linear least squares
  10.      problem
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DGELSS( M, N, NRHS, A, LDA, B, LDB, S, RCOND, RANK, WORK,
  14.                         LWORK, INFO )
  15.  
  16.          INTEGER        INFO, LDA, LDB, LWORK, M, N, NRHS, RANK
  17.  
  18.          DOUBLE         PRECISION RCOND
  19.  
  20.          DOUBLE         PRECISION A( LDA, * ), B( LDB, * ), S( * ), WORK( * )
  21.  
  22. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  23.      DGELSS computes the minimum norm solution to a real linear least squares
  24.      problem:
  25.  
  26.      Minimize 2-norm(| b - A*x |).
  27.  
  28.      using the singular value decomposition (SVD) of A. A is an M-by-N matrix
  29.      which may be rank-deficient.
  30.  
  31.      Several right hand side vectors b and solution vectors x can be handled
  32.      in a single call; they are stored as the columns of the M-by-NRHS right
  33.      hand side matrix B and the N-by-NRHS solution matrix X.
  34.  
  35.      The effective rank of A is determined by treating as zero those singular
  36.      values which are less than RCOND times the largest singular value.
  37.  
  38.  
  39. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  40.      M       (input) INTEGER
  41.              The number of rows of the matrix A. M >= 0.
  42.  
  43.      N       (input) INTEGER
  44.              The number of columns of the matrix A. N >= 0.
  45.  
  46.      NRHS    (input) INTEGER
  47.              The number of right hand sides, i.e., the number of columns of
  48.              the matrices B and X. NRHS >= 0.
  49.  
  50.      A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
  51.              On entry, the M-by-N matrix A.  On exit, the first min(m,n) rows
  52.              of A are overwritten with its right singular vectors, stored
  53.              rowwise.
  54.  
  55.      LDA     (input) INTEGER
  56.              The leading dimension of the array A.  LDA >= max(1,M).
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDGGGGEEEELLLLSSSSSSSS((((3333FFFF))))                                                          DDDDGGGGEEEELLLLSSSSSSSS((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      B       (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS)
  75.              On entry, the M-by-NRHS right hand side matrix B.  On exit, B is
  76.              overwritten by the N-by-NRHS solution matrix X.  If m >= n and
  77.              RANK = n, the residual sum-of-squares for the solution in the i-
  78.              th column is given by the sum of squares of elements n+1:m in
  79.              that column.
  80.  
  81.      LDB     (input) INTEGER
  82.              The leading dimension of the array B. LDB >= max(1,max(M,N)).
  83.  
  84.      S       (output) DOUBLE PRECISION array, dimension (min(M,N))
  85.              The singular values of A in decreasing order.  The condition
  86.              number of A in the 2-norm = S(1)/S(min(m,n)).
  87.  
  88.      RCOND   (input) DOUBLE PRECISION
  89.              RCOND is used to determine the effective rank of A.  Singular
  90.              values S(i) <= RCOND*S(1) are treated as zero.  If RCOND < 0,
  91.              machine precision is used instead.
  92.  
  93.      RANK    (output) INTEGER
  94.              The effective rank of A, i.e., the number of singular values
  95.              which are greater than RCOND*S(1).
  96.  
  97.      WORK    (workspace/output) DOUBLE PRECISION array, dimension (LWORK)
  98.              On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
  99.  
  100.      LWORK   (input) INTEGER
  101.              The dimension of the array WORK. LWORK >= 1, and also:  LWORK >=
  102.              3*min(M,N) + max( 2*min(M,N), max(M,N), NRHS ) For good
  103.              performance, LWORK should generally be larger.
  104.  
  105.      INFO    (output) INTEGER
  106.              = 0:  successful exit
  107.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  108.              > 0:  the algorithm for computing the SVD failed to converge; if
  109.              INFO = i, i off-diagonal elements of an intermediate bidiagonal
  110.              form did not converge to zero.
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.